package com.iflytek.cosmo.ocr.dao;

import com.iflytek.cosmo.ocr.model.domain.FileInfo;
import com.iflytek.cosmo.ocr.model.entity.OcrFileEntity;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * 
 * @ClassName: OcrFileDao.java
 * @Description: 文件信息
 * @author liangxu5@iflytek.com 
 * @version 1.0
 *
 */
@Repository
public interface OcrFileDao extends Mapper<OcrFileEntity>{

	/**
	 * 
	 * @description 文件重命名
	 * @author liangxu5@iflytek.com
	 * @create 2018年9月9日下午4:57:20
	 * @param fileInfo 文件信息
	 * @version 1.0
	 */
	void renameFile(FileInfo fileInfo);
	
	/**
	 * 
	 * @description 文件删除
	 * @author liangxu5@iflytek.com
	 * @create 2018年9月9日下午5:34:40
	 * @version 1.0
	 * @param fileId 文件Id
	 */
	void deleteFile(String fileId);

	/**
	 * @description 文件根据parentId批量删除
	 * @author yxchen
	 * @param parentId
	 */
	void deleteFileByParent(String parentId);
	
	/**
	 * 
	 * @description 查询用户关联的文件
	 * @author liangxu5@iflytek.com
	 * @create 2018年9月10日下午4:16:15
	 * @version 1.0
	 * @param fileInfo 文件信息
	 * @return List<FileInfo>
	 */
	List<OcrFileEntity> selectAllFile(FileInfo fileInfo);
	
	/**
	 * 
	 * @description 查詢子文件
	 * @author liangxu5@iflytek.com
	 * @create 2018年9月10日下午5:31:51
	 * @version 1.0
	 * @param parentId 父目录id
	 * @return List<FileInfo>
	 */
	List<OcrFileEntity> selectSubFile(String parentId);


	/**
	 * 分组查询用户
	 */
	List<String> groupByUserId();

	/**
	 * 更新某用户的dirId值
	 */
	int modifyDirId(OcrFileEntity ocrFileEntity);

	/**
	 * 删除高级功能在file中的记录
	 */
	void deleteAdvFuncFile(List<String> list);
	
	List<String> selectAllFileId(List<String> list);

}
